package cn.yunhe.insurance.dao;


import cn.yunhe.insurance.entity.Emp;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @program: ssm_insurance
 * @description: 员工接口
 * @author: 李武
 * @create: 2018-09-14 16:17
 **/
@Repository
@Mapper
public interface EmpDao {
    /**
     * 添加或者修改图像
     * @param emp
     * @return
     */
    int addOrUpdatePic(Emp emp);
    /**
     * 自我修改
     * @param emp
     * @return
     */
    int updateEmpPassword(Emp emp);
    /**
     * 添加员工
     *
     * @param map
     * @return
     */
    int addEmp(Map<String, Object> map);

    /**
     * 删除员工
     *
     * @param emp
     * @return
     */
    int delEmp(Emp emp);

    /**
     * 批量删除员工
     *
     * @param euuId
     * @return
     */
    int delsEmp(List<String> euuId);

    /**
     * 根据empId获取员工
     *
     * @param emp
     * @return
     */
    Emp getOneEmp(Emp emp);

    /**
     * 修改员工信息
     *
     * @param map
     * @return
     */
    int updateEmp(Map<String, Object> map);

    /**
     * 获取员工信息(分页)
     *
     * @param map
     * @return
     */
    List<Emp> getEmpListById(Map<String, Object> map);

    /*==================================================================*/

    /**
     *
     * 根据员工name查找员工信息
     * @param emp
     * @return
     */

    Emp login(Emp emp);

    /**
     * 更新登录状态
     * @param emp
     * @return
     */

    boolean updateLoginState(Emp emp);

    /**
     * 修改密碼  （與修改登錄狀態功能耦合，可精簡）
     * @param emp
     * @return
     */
    boolean updatePassword(Emp emp);

    /**
     * 更改账户状态 （與修改登錄狀態功能耦合，可精簡）
     * @param emp
     * @return
     */
    Boolean updateAccountState(Emp emp);

    /**
     * 根据name获得emp
     * @param emp
     * @return
     */
    Emp getEmpByName(Emp emp);

}
